|
|||||||||||||||||||
| 30 day Evaluation Version distributed via the Maven Jar Repository. Clover is not free. You have 30 days to evaluate it. Please visit http://www.thecortex.net/clover to obtain a licensed version of Clover | |||||||||||||||||||
| Source file | Conditionals | Statements | Methods | TOTAL | |||||||||||||||
| ProcessImplFactory.java | 75% | 100% | 100% | 95.5% |
|
||||||||||||||
| 1 |
/*
|
|
| 2 |
* $Id: ProcessImplFactory.java,v 1.1 2004/12/15 14:18:09 patforna Exp $
|
|
| 3 |
*
|
|
| 4 |
* Copyright (c) 2004 Patric Fornasier, Pawel Kowalski
|
|
| 5 |
* Berne University of Applied Sciences
|
|
| 6 |
* School of Engineering and Information Technology
|
|
| 7 |
* All rights reserved.
|
|
| 8 |
*/
|
|
| 9 |
package bexee.model.xmltobpel;
|
|
| 10 |
|
|
| 11 |
import java.util.Hashtable;
|
|
| 12 |
import java.util.Map;
|
|
| 13 |
|
|
| 14 |
import org.xml.sax.Attributes;
|
|
| 15 |
|
|
| 16 |
import bexee.model.process.Process;
|
|
| 17 |
|
|
| 18 |
/**
|
|
| 19 |
* This class is used by the <a
|
|
| 20 |
* href="http://jakarta.apache.org/commons/digester/">Digester </a> for the
|
|
| 21 |
* transformation of a process from a BPEL document into a
|
|
| 22 |
* <code>ProcessImpl</code> object. The creation of a process object is
|
|
| 23 |
* delegated to the <code>BPELElementFactory</code>.
|
|
| 24 |
*
|
|
| 25 |
* @author Pawel Kowalski
|
|
| 26 |
* @version $Revision: 1.1 $, $Date: 2004/12/15 14:18:09 $
|
|
| 27 |
*/
|
|
| 28 |
public class ProcessImplFactory extends AbstractObjectCreationFactory { |
|
| 29 |
|
|
| 30 |
//**************************************************/
|
|
| 31 |
// create object
|
|
| 32 |
//**************************************************/
|
|
| 33 |
|
|
| 34 |
/**
|
|
| 35 |
* Create a <code>ProcessImpl</code> activity instance using delegation to
|
|
| 36 |
* a <code>BPELElementFactory</code>.
|
|
| 37 |
*
|
|
| 38 |
* @param attributes
|
|
| 39 |
* an <code>Attributes</code> value
|
|
| 40 |
* @return an <code>ProcessImpl</code> value
|
|
| 41 |
* @exception Exception
|
|
| 42 |
* if an error occurs
|
|
| 43 |
*/
|
|
| 44 | 32 |
public Object createObject(Attributes attributes) throws Exception { |
| 45 |
|
|
| 46 | 32 |
String name = attributes.getValue(NAME); |
| 47 | 32 |
String targetNamespace = attributes.getValue(TARGET_NAMESPACE); |
| 48 | 32 |
String queryLanguage = attributes.getValue(QUERY_LANGUAGE); |
| 49 | 32 |
String expressionLanguage = attributes.getValue(EXPRESSION_LANGUAGE); |
| 50 | 32 |
String suppressJoinFailure = attributes.getValue(SUPPRESS_JOIN_FAILURE); |
| 51 | 32 |
String enableInstanceCompensation = attributes |
| 52 |
.getValue(ENABLE_INSTANCE_COMPESATION); |
|
| 53 | 32 |
String abstractProcess = attributes.getValue(ABSTRACT_PROCESS); |
| 54 | 32 |
String xmlns = attributes.getValue(XMLNS); |
| 55 |
|
|
| 56 | 32 |
Map nameSpaces = new Hashtable();
|
| 57 | 32 |
String currentQName; |
| 58 | 32 |
for (int i = 0; i < attributes.getLength(); i++) { |
| 59 | 186 |
currentQName = attributes.getQName(i); |
| 60 | 186 |
int separatorIndex = currentQName.indexOf(":"); |
| 61 | 186 |
if (separatorIndex != 1) {
|
| 62 | 186 |
nameSpaces.put(currentQName.substring(separatorIndex + 1), |
| 63 |
attributes.getValue(i)); |
|
| 64 |
} |
|
| 65 |
} |
|
| 66 |
|
|
| 67 | 32 |
Process process = getElementFactory().createProcess(name, |
| 68 |
targetNamespace, queryLanguage, expressionLanguage, |
|
| 69 |
suppressJoinFailure, enableInstanceCompensation, |
|
| 70 |
abstractProcess, xmlns, nameSpaces); |
|
| 71 |
|
|
| 72 | 32 |
return process;
|
| 73 |
} |
|
| 74 |
} |
|
||||||||||